info1="D:\tools\noco"
info2=r"D:\tools\noco"
info3="D:\\tools\\noco"
info4='张三说:"你很厉害"'
print(info1)
print(info2)
print(info3)
print(info4)

#定义变量
info="abcdefg"
#获取字母d
print(info[3])
print(info[-4])
#寻找字母e的下标位置
print(info.find("e"))
#寻找字母k的下标位置
print(info.find("k"))

#定义字符串
info="xx是世界上最厉害的人"
#使用字符串替换
info1=info.replace("xx","马赛克")
print(info1)
print(info)

#定义变量
info=['python','java','pmp']
num=[11,22,33]
#连接
info1="and".join(info)
print(info1)
print(type(info1))

#定义SQL语句变量
sql = "SELECT*from students where id =001;"
#调用字符串的 split() 方法（不传入参数时，默认按任意空白字符（空格、制表符、换行符等）分割字符串）
print(sql.split())
#遍历列表逐个打印整个列表
for i in sql.split():
    print(i)
print(sql.split("where"))

phone = " 13800000001  "
print(phone)
#去除字符串两头的空格
print(phone.strip())

# 输入手机号、密码、验证码,并且去除两头空格
username = input("请输入手机号：").strip()
password = input("请输入密码：").strip()
code = input("请输入验证码：").strip()
#判断是否为空
if username=="":
    print("手机号不能为空")
if password=="":
    print("密码不能为空")
if code =="":
    print("验证码不能为空")
#判断手机号码格式
if len(username) != 11 or not (username.isdigit()):
    print("手机号格式不正确")
if code.lower() != "8888":
    print("验证码错误")
if username != "13488888888":
    print("手机号不存在")
if password != "123456":
    print("密码错误")
#输入都正确
if username == "13488888888" and password == "123456" and code == "8888":
    print("登录成功")

# 定义空列表
info = []
info1 = list()
print(info)
print(info1)
# 定义非空列表
info2 = [11, "aaa", 1.88]
print(info2)

# 定义列表
data_list = ['python', 'java', 'python', 'php']
# 统计python出现的次数
num = data_list.count("python")
print(num)
# 统计java出现次数
print(data_list.count("java"))
print(data_list.count("C++"))

#定义列表
val_lists=["Web自动化","UI自动化","接口自动化"]
#添加元素到第二个位置
val_lists.insert(1,"APP")
#查看原有列表
print(val_lists)
#在列表的第七个位置添加元素“Java”
val_lists.insert(6,"java")
print(val_lists)

#定义列表
info1=[1,2,3]
info2=[4,5,6]
#合并
info1.extend(info2)
print(info1)
print(info2)

#定义列表
var_list=['Web自动化', 'APP自动化', 'UI自动化', '接口自动化', 'java']
#删除下标为2的元素
var_list.pop(2)
print(var_list)
#删除下标为空的元素
var_list.pop()
print(var_list)

# 定义列表
val_list = ['Web自动化', 'APP自动化', 'java', 'UI自动化', '接口自动化', 'java']
# 删除：“APP自动化”
val_list.remove('APP自动化')
# 查看原有列表
print(val_list) # ['Web自动化', 'java', 'UI自动化', '接口自动化', 'java']
# 删除：java
val_list.remove('java')
print(val_list)

#定义列表
val_list=["Web自动化", "UI自动化", "接口自动化", "APP自动化"]
#把ui自动化修改为性能自动化
val_list[1]="性能自动化"
print(val_list)

#列表反转
info=[8,100,30,10,40,2]
#反转
info.reverse()
print(info)

#定义列表
info=[8,100,30,10,40,2]
#从小到大排序
info.sort()
info.sort(reverse=False)
print(info)
#从大到小排序
info.sort(reverse=True)
print(info)

#定义列表
student_list=[["张三", "18", "功能测试"], ["李四", "20", "自动化测试"], ["王五", "22",]["python", "java"]]
# 获取指定的元素
print(student_list[0])
aa=student_list[0]
print(aa[1])
#合并
print(aa[1])
#查找李四
print(student_list[0][1])
#查找Java
print(student_list[2][2][1])

#定义非空列表
login_data = [
    ["13488888888", "123456", "8888"],
    ["13488888888", "666666", "8888"],
    ["13488888880", "123456", "8888"],
    ["13488888888", "123456", "0000"]
]
#遍历
for i in login_data:
    # 判断手机号和密码
    if i[0] == "13488888888" and i[1] =="123456":
        # 判断验证码
        if i[2]=="8888":
            print("登录成功")
        else:
            print("验证码错误")
    else:
        print("用户名或密码错误")

# 定义空元组
info=()
info1=tuple()
print(info)
print(info1)

# 非空
info2 = (11, 22, 33, 44)
print(info2)

# 单个元素
info3 = ("55",)
print(type(info3))

# 不写括号
info4 = 1, 2, 3, 4
print(type(info4))

#定义元组
info = (11, "aaa", 1.88)
# 查看下标为2的对应元素
print(info[2]) # 1.88
# 查看下标为4的对应元素
print(info[4])

# 定义元组
info = (1, 2, 3, 2)
# 统计元素2出现的次数
print(info.count(2))
print(info.count(3))
print(info.count(4))

# 定义变量
num1 = 100
num2 = 200
# 合并
num1, num2 = num2, num1
print("此时num1的值：", num1)
print("此时num2的值：", num2)

#定义空字典
info={}
info1=dict()
print(type(info),type(info1))
print(info)
#非空字典
info2={"name":"张三","age":22,"height":1.88}
print(info2)
print(type(info2))

# 定义非空字典
info = {"name": "张三"}
# 将张三修改为李四
info["name"] = "李四"
print(info) # {'name': '李四'}
# 增加年龄为22岁
info["age"] = 22
print(info) # {'name': '李四', 'age': 22}

# 定义字典
info = {'name': '李四', 'age': 22}
# 删除年龄22
info.pop("age")
print(info)

#定义非空字典
info={
    "name":"tom",
    "age":18,
    "gender":"男",
    "hobby":{"read": "小说", "sport": ["篮球", "足球"]}
}
# 查询年龄
print(info["age"])
print(info.get("age"))
# 查询键aa的值
print(info.get("aa"))
print(info["hobby"]["sport"][1])
print(info.get("hobby").get("sport")[1])

# 定义字典1
dict1 = {"name": "张三", "age": 18}
# 定义字典2
dict2 = {"height": 1.88}
# 将字典2合并到字典1
dict1.update(dict2)
print(dict1)

# 定义非空字典
info = {
"name": "tom",
"age": 18,
"gender": "男"
}
# 遍历获取字典中所有键
for i in info.keys():
    print(f"字典的键是：{i}")
# 遍历获取字典中所有值
for i in info.values():
    print(f"字典的值是：{i}")
# 遍历获取字典的键和值
for k, v in info.items():
    print(f"{k} = {v}")

# 定义空集合
info = set()
print(info)
# 集合中添加元素："a"
info.add("a")
info.add("b")
print(info)
# 定义非空字符串
var = "abcdeabdcdf"
# 打印非重复的元素
print(set(var))
tmp = list(set(var))
tmp.sort()
print(tmp)
print("".join(tmp))

# 定义非空字符串
name="abcdefgh"
# 获取cde
print(name[2:5])
print(name[2:5:1])
print(name[-6:-3])
print(name[-6:-3:1])
# 获取defgh的字符
print(name[3:8])
print(name[3:])
print(name[-5:])
# 获取ace的字符
print(name[0:5:3])
print(name[:5:2])
#获取hgfedcba
print(name[::-1])

# 定义非空字符串
info = "abcdefgh"
info1 = "Hello Python"
# 统计字符元素个数（长度）
print(len(info))
print(len(info1))
# 定义非空列表
info2 = [11, "aa", 1.88, (1, 2, 3), ["aa", "bb"]]
print(len(info2))
# 定义非空元组
info3 = (11, "aa", 1.88)
print(len(info3))
# 定义非空字典
info4 = {"name": "tom", "age": 18, "gender": "男"}
print(len(info4))

info2 = [11, "aa", 1.88, (1, 2, 3), ["aa", "bb"]]
# 清空列表数据
info2.clear()
# 查看原有列表
print(info2)
info4 = {"name": "tom", "age": 18, "gender": "男"}
# 清空字典数据
info4.clear()
# 查看原有字典
print(info4)

#列表
login_data1 = [
    ["13800000001", "123456", "8888", "登录成功"],
    ["13800000001", "1234", "8888", "密码错误"],
    ["13800000001", "123456", "0000", "验证码错误"]
]
#元组
login_data2 = (
    ("13800000001", "123456", "8888", "登录成功"),
    ("13800000001", "1234", "8888", "密码错误"),
    ("13800000001", "123456", "0000", "验证码错误")
)
#列表元组
login_data3 = [
    ("13800000001", "123456", "8888", "登录成功"),
    ("13800000001", "1234", "8888", "密码错误"),
    ("13800000001", "123456", "0000", "验证码错误")
]
#列表字典
login_data4 = [
    {"username": "13800000001", "password": "123456", "code": "8888", "result": "登录成功"},
    {"username": "13800000001", "password": "666666", "code": "8888", "result": "密码错误"},
    {"username": "13800000001", "password": "123456", "code": "0000", "result": "验证码错误"}
]
#遍历数据3
for i in login_data3:
    print(f"用户名:{i[0]} 密码:{i[1]} 验证码:{i[2]} 期望结果:{i[3]}")
#遍历数据4
for j in login_data4:
    print(f"用户名：{j.get('username')} 密码：{j.get('password')} 验证码：{j.get('code')} 期望结果：{j.get('result')}")



